與經(jīng)典的基于硬件的設(shè)置相比,云計(jì)算架構(gòu)提供了更多的靈活性、設(shè)計(jì)選擇和節(jié)省成本的機(jī)會(huì)。然而,這些好處是有代價(jià)的,因?yàn)樵破脚_(tái)通常比普通的本地物理基礎(chǔ)設(shè)施更難理解,并且具有更多的移動(dòng)部件。本文介紹了云計(jì)算架構(gòu)和在云環(huán)境中運(yùn)行的組件。繼續(xù)閱讀以了解不同系統(tǒng)如何協(xié)同工作以創(chuàng)建功能性云并為最終用戶提供按需 IT 資源(服務(wù)器、應(yīng)用程序、數(shù)據(jù)庫、網(wǎng)絡(luò)等)。
云計(jì)算架構(gòu)解釋
云計(jì)算架構(gòu)是指系統(tǒng)和技術(shù)的組合,這些系統(tǒng)和技術(shù)在集成時(shí)會(huì)創(chuàng)建一個(gè) IT 基礎(chǔ)架構(gòu),該基礎(chǔ)架構(gòu)可以跨網(wǎng)絡(luò)抽象、匯集和共享按需資源。每個(gè)云架構(gòu)都有兩個(gè)主要組件:
- 前端(對(duì)最終用戶可見的元素,例如 Web 應(yīng)用程序和瀏覽器、移動(dòng)設(shè)備、用戶界面等)。
- 后端(系統(tǒng)的“云”部分,具有數(shù)據(jù)存儲(chǔ)、專用服務(wù)器、操作系統(tǒng)、安全措施等)。
云計(jì)算架構(gòu)還需要一個(gè)網(wǎng)絡(luò),前端和后端通過該網(wǎng)絡(luò)進(jìn)行通信。這兩個(gè)組件通常通過 Internet 共享數(shù)據(jù),除非架構(gòu)師更喜歡使用私有網(wǎng)絡(luò)(私有云和混合云架構(gòu)中的首選選項(xiàng))。
無論是哪種網(wǎng)絡(luò),前后端之間的通信層都必須有:
- 高帶寬。
- 沒有延遲。
- 高可用性
- 頂級(jí)網(wǎng)絡(luò)安全。
云計(jì)算架構(gòu)的設(shè)計(jì)核心是:
- 事件驅(qū)動(dòng)架構(gòu) (EDA):一種軟件設(shè)計(jì),其中解耦的服務(wù)產(chǎn)生、檢測和響應(yīng)系統(tǒng)事件。
- 面向服務(wù)的體系結(jié)構(gòu) (SOA):其中一組組件通過通信協(xié)議向其他元素提供服務(wù)的系統(tǒng)。
盡管這些系統(tǒng)比本地設(shè)置更復(fù)雜,但公司有很多理由部署云計(jì)算架構(gòu)。一些主要原因是:
- 更快的上市時(shí)間。
- 更快地提供資源。
- 實(shí)時(shí)可擴(kuò)展性(向上和向下)。
- 使用云原生解決方案(例如Kubernetes)的能力。
- 由于更好的數(shù)據(jù)可見性,更可靠的合規(guī)性。
- 節(jié)省成本(無需本地硬件和對(duì)資源使用的嚴(yán)格控制)。
云計(jì)算架構(gòu)前端
前端作為架構(gòu)中的客戶端,可以通過 Internet 或?qū)S镁W(wǎng)絡(luò)與后端進(jìn)行通信。前端組件對(duì)最終用戶可見,并允許訪問云平臺(tái)。
前端的兩個(gè)主要元素是:
- 客戶端用于訪問云平臺(tái)并與之交互的應(yīng)用程序或軟件(通常是 Web 瀏覽器或本機(jī)應(yīng)用程序)。應(yīng)用程序或?yàn)g覽器有一個(gè)專用的 UI,一些云架構(gòu)師認(rèn)為這是一個(gè)單獨(dú)的前端組件。
- 用戶通過它連接到瀏覽器或應(yīng)用程序(手機(jī)、平板電腦、PC、筆記本電腦等)并與之交互的客戶端設(shè)備。
前端的元素負(fù)責(zé):
- 使用戶能夠與云進(jìn)行交互。
- 通過中間件向后端發(fā)送查詢。
- 從后端請(qǐng)求服務(wù)。
- 呈現(xiàn)所有與云相關(guān)的信息(資源利用、安全問題、監(jiān)控警報(bào)、使用模式等)。
云處理比客戶端設(shè)備更多的處理,這是云計(jì)算的另一個(gè)顯著優(yōu)勢(shì),對(duì)于遠(yuǎn)程優(yōu)先團(tuán)隊(duì)和具有BYOD 策略的公司特別有用。
云計(jì)算架構(gòu)后端
在云計(jì)算架構(gòu)中,后端是指云本身。該組件包含具有多個(gè)關(guān)鍵角色的各種系統(tǒng)、服務(wù)器和存儲(chǔ)單元:
- 運(yùn)行與云相關(guān)的程序和應(yīng)用程序。
- 為前端提供功能并響應(yīng)用戶發(fā)送的任何查詢。
- 部署和擴(kuò)展資源。
- 監(jiān)控所有操作和活動(dòng)。
- 保持云數(shù)據(jù)和流程的安全。
- 連接所有服務(wù)和應(yīng)用程序。
- 運(yùn)行流量控制機(jī)制。
- 管理云協(xié)議。
云提供商是管理后端組件的人。但是,一些公司選擇開發(fā)和維護(hù)他們的云,在這種情況下,內(nèi)部團(tuán)隊(duì)負(fù)責(zé)后端運(yùn)營。公司還可以在內(nèi)部團(tuán)隊(duì)和提供商團(tuán)隊(duì)之間分擔(dān)后端任務(wù)(這是必須遵守HIPAA或PCI的高度監(jiān)管公司的常見選擇)。
前端只是一個(gè)帶有連接的 UI,而后端是云的主要原則:
- 用戶無需服務(wù)提供商幫助即可配置的按需資源。
- 客戶端連接的能力,無論位置如何。
- 資源池,使提供商能夠在動(dòng)態(tài)多租戶環(huán)境中匯集資源并為多個(gè)用戶提供服務(wù)。
- 快速響應(yīng)消費(fèi)者需求的快速彈性。
- 允許最終用戶詳細(xì)監(jiān)控云使用情況的測量服務(wù)。
后端有更多的組件,并且比它的前端大得多。下面是對(duì)云計(jì)算架構(gòu)中可能存在的每個(gè)后端組件的詳細(xì)介紹。
應(yīng)用層
當(dāng)最終用戶與前端交互時(shí),后端的應(yīng)用層接收查詢并處理客戶端的請(qǐng)求。這一層有幾個(gè)重要的作用:
- 為用戶提供訪問云服務(wù)的權(quán)限。
- 連接后端和前端。
- 響應(yīng)前端查詢。
- 協(xié)調(diào)消費(fèi)者的需求與后端的資源。
服務(wù)層
服務(wù)層將實(shí)用程序添加到云計(jì)算架構(gòu)的后端。該組件通過數(shù)據(jù)存儲(chǔ)、應(yīng)用程序開發(fā)環(huán)境、Web 服務(wù)等服務(wù)處理每個(gè)任務(wù)和請(qǐng)求。
服務(wù)可以在云運(yùn)行時(shí)執(zhí)行各種任務(wù)和功能。客戶可以使用的服務(wù)類型取決于交付模型。基于云的交付方式主要有以下三種:
- 基礎(chǔ)設(shè)施即服務(wù) (IaaS):?IaaS 提供對(duì)云計(jì)算架構(gòu)資源(數(shù)據(jù)存儲(chǔ)、服務(wù)器、網(wǎng)絡(luò)基礎(chǔ)設(shè)施、VM 等)的訪問和控制。
- 軟件即服務(wù) (SaaS):?SaaS 使客戶端能夠在云中托管應(yīng)用軟件。在 SaaS 模型中,供應(yīng)商處理所有升級(jí)和開發(fā),供應(yīng)商維護(hù)底層基礎(chǔ)設(shè)施。
- 平臺(tái)即服務(wù) (PaaS):?PaaS 模型為用戶提供了一個(gè)按需開發(fā)的軟件開發(fā)平臺(tái)。提供商托管完整的技術(shù)堆棧和工具集,但用戶負(fù)責(zé)軟件開發(fā)、應(yīng)用程序管理和更新。
交付模型不是云部署模型(例如混合、社區(qū)或多云)。交付模型決定了用戶可以訪問的服務(wù)類型,而部署模型則定義了相關(guān)云的類型。
中間件
中間件是指使聯(lián)網(wǎng)設(shè)備和應(yīng)用程序能夠進(jìn)行通信的軟件組件。該組件負(fù)責(zé)以下之間的連接:
- 應(yīng)用。
- 服務(wù)。
- 運(yùn)行時(shí)云。
- 存儲(chǔ)單元。
- 基礎(chǔ)設(shè)施設(shè)備。
- 安全解決方案。
- 前端。
與傳統(tǒng)數(shù)據(jù)中心一樣,中間件依賴于數(shù)據(jù)庫和通信應(yīng)用程序來建立不同系統(tǒng)之間的協(xié)調(diào)。
云儲(chǔ)存
存儲(chǔ)是保留所有云數(shù)據(jù)的后端部分。云存儲(chǔ)的類型和容量因云提供商和客戶的要求而異。這種云計(jì)算服務(wù)使用戶能夠?qū)?shù)據(jù)存儲(chǔ)在云端而不是現(xiàn)場數(shù)據(jù)存儲(chǔ),這是一種更安全、更方便的選擇。
云基礎(chǔ)設(shè)施
盡管最終用戶從未看到云基礎(chǔ)設(shè)施或與云基礎(chǔ)設(shè)施進(jìn)行交互,但云也需要硬件。云基礎(chǔ)設(shè)施包括數(shù)據(jù)中心標(biāo)準(zhǔn)服務(wù)器機(jī)房的所有功能,包括:
- 服務(wù)器。
- 中央處理單元 (CPU)。
- 圖形處理單元 (GPU)。
- 主板。
- 存儲(chǔ)單元(硬盤驅(qū)動(dòng)器和 SSD)。
- 帶有路由器和交換機(jī)的網(wǎng)絡(luò)設(shè)備。
- 網(wǎng)絡(luò)和加速卡。
- 冷卻和電力基礎(chǔ)設(shè)施。
基礎(chǔ)設(shè)施層還包括運(yùn)行和管理所有硬件所需的軟件。
管理程序
管理程序是一種創(chuàng)建和運(yùn)行虛擬機(jī)的軟件。管理程序分配單個(gè)設(shè)備的資源(CPU、內(nèi)存、存儲(chǔ)等),并使具有不同操作系統(tǒng)的多個(gè)虛擬機(jī)在同一設(shè)備上運(yùn)行。
管理程序提供的虛擬化提高了多租戶云中服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò)的效率。但是,如果主機(jī)設(shè)備有太多 VM,則此組件可能會(huì)影響整體性能。
管理軟件
云計(jì)算架構(gòu)的管理軟件可確保所有操作和程序運(yùn)行順暢高效。這些系統(tǒng)執(zhí)行的一些任務(wù)是:
- 安全性和合規(guī)性審計(jì)。
- 性能和容量監(jiān)控。
- 使用情況跟蹤。
- 部署新應(yīng)用程序。
- 數(shù)據(jù)整合。
- 災(zāi)難恢復(fù)管理。
管理軟件還包括自動(dòng)化程序和工具。自動(dòng)化是云的核心價(jià)值,也是該技術(shù)的主要賣點(diǎn)之一。在云計(jì)算架構(gòu)中,自動(dòng)化工具具有三個(gè)重要任務(wù):
- 向上或向下擴(kuò)展以滿足使用或流量需求。
- 確保跨云環(huán)境的治理。
- 按照預(yù)定義閾值或云策略的指示對(duì)事件做出反應(yīng)。
安全層
安全層是云架構(gòu)的一個(gè)重要方面。由于大多數(shù)提供商級(jí)云是高風(fēng)險(xiǎn)的多租戶環(huán)境,供應(yīng)商通常依賴各種技術(shù)來確保云計(jì)算安全,例如:
- 不可變的定期數(shù)據(jù)備份。
- 數(shù)據(jù)加密(靜態(tài)、動(dòng)態(tài)和使用中)
- 高端調(diào)試工具。
- 虛擬防火墻(用于整個(gè)設(shè)置和租戶之間)。
- 零信任安全原則。
- 多因素身份驗(yàn)證和強(qiáng)密碼。
- 入侵檢測系統(tǒng)(IDS)。
- 反惡意軟件和病毒軟件。
- 勒索軟件預(yù)防。
云計(jì)算架構(gòu)最佳實(shí)踐
沒有單一的方法可以構(gòu)建高效的云計(jì)算架構(gòu),但有一些指導(dǎo)原則適用于每個(gè)設(shè)計(jì)。以下是您在設(shè)計(jì)新架構(gòu)或調(diào)整現(xiàn)有架構(gòu)時(shí)應(yīng)考慮的最佳實(shí)踐:
- 采取安全第一的方法:在創(chuàng)建架構(gòu)時(shí),您的安全或SecOps團(tuán)隊(duì)?wèi)?yīng)該從一開始就將保護(hù)嵌入到設(shè)計(jì)中。一開始的安全系統(tǒng)越強(qiáng)大,隨著環(huán)境的發(fā)展,數(shù)據(jù)泄露和破壞的風(fēng)險(xiǎn)就越小。
- 計(jì)劃使用高峰:嘗試預(yù)測并了解設(shè)置在常規(guī)和高峰工作負(fù)載期間的行為方式。確保架構(gòu)在任何情況下都表現(xiàn)良好,并為擴(kuò)展準(zhǔn)備最佳機(jī)制。
- 網(wǎng)絡(luò)安全不要冒險(xiǎn):除了從一開始就計(jì)劃安全之外,您還應(yīng)該使用所有可用的網(wǎng)絡(luò)安全措施來保護(hù)您的架構(gòu)。尋找提供數(shù)據(jù)加密、定期補(bǔ)丁管理、端點(diǎn)保護(hù)、云災(zāi)難恢復(fù)和強(qiáng)大策略的提供商。
- 設(shè)置持續(xù)監(jiān)控:使用Nagios等工具持續(xù)監(jiān)控環(huán)境以解決性能和使用問題,創(chuàng)建有助于優(yōu)化設(shè)置的富有洞察力的模式。
- 優(yōu)化和削減成本:利用自動(dòng)化流程和利用率跟蹤來消除不必要的開支,并確保您不會(huì)在資源上超支。